1. Field of the Invention
The present invention generally relates to updating low-level resources of a computer system. More particularly, the present invention relates to providing a user-friendly technique for enabling a user to update low-level resources of the computer system.
2. Related Art
A firmware image, which is a low-level resource of a computer system, is stored in several ROM (Read-Only Memory) devices within the computer system. There are several types of firmware images, such as server firmware, workstation firmware, PCI (Peripheral Component Interconnect) I/O card firmware, disk drive (or mass storage) firmware, etc.
Rather than using nonprogrammable (or single write) ROM devices to store firmware images, the computer industry is migrating towards the use of programmable (or multiple write) ROM devices to store firmware images. There are several types of programmable ROM devices, including EPROM, EEPROM, and flash-ROM. These programmable ROM devices allow old firmware images to be updated with new firmware images. This firmware update is performed due to any of several reasons. Improving performance, patching a security defect, repairing a defect, and expanding functionality are some examples of reasons for performing a firmware update.
Typically, a firmware revision file is made available to users (e.g., customers) of the computer system to update a firmware image. The user performs a firmware update procedure that usually involves a sequence of complicated steps requiring strong technical knowledge of the computer system, especially of low-level commands. If the user lacks the technical knowledge, assistance is required from specialized technical personnel. Moreover, the firmware update procedure is cumbersome and is not user-friendly. An incorrectly performed firmware update can damage the computer system or can render the computer system inoperable.
Moreover, a separate and distinct firmware update procedure has to be performed for each firmware image that will be updated. This increases the possibility of an error that could disable the computer system. Additionally, the performance of multiple firmware update procedures can be tedious and time consuming.